package work.linruchang.bean;

import javax.persistence.*;
import java.util.Date;


/**
 * The persistent class for the ct_pack_info database table.
 *
 */
@Entity
@Table(name="ct_pack_info")
@NamedQueries({
})
public class PackInfo extends BaseEntity  {
	private static final long serialVersionUID = 1L;

	@Column(name="area_code")
	private String areaCode;

	@Column(name="pack_status")
	private String packStatus;//套餐状态,0:上架,1:下架
	@Column(name="monthly_type")
	private String monthlyType;//月租类型

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="create_time")
	private Date createTime;

	private String mark1;
	private String mark2;
	private String mark3;

	@Column(name="pack_comments")
	private String packComments;

	@Column(name="pack_crm_id")
	private String packCrmId;

	@Column(name="pack_icon")
	private String packIcon;

	@Column(name="pack_name")
	private String packName;

	@Column(name="pack_price")
	private int packPrice;

	@Column(name="pack_rate")
	private String packRate;

	@Column(name="pack_rate_text")
	private String packRateText;

	/**
	 * 套餐类型
	 * 0月租 1日租 2年租 3融合套餐 4预存优惠包 5线下套餐
	 * 参考{Constants#PACK_TYPE_MONTH}
	 */
	@Column(name="pack_type")
	private String packType;

	@Column(name="sort_by")
	private String sortBy;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="update_time")
	private Date updateTime;

	/**
	 * 套餐标识
	 * 0普通套餐 1特资套餐
	 */
	private String specType;
	private String effectInfo;

	private String createUser;
	private String lastUpdateUser;

	private String packCrmCode;

	/**
	 * ct_additional_pack_info==优惠包的挂载：2单宽与手机、1仅手机、其他值仅单宽
	 */
	private String mark;

	/**
	 * 是否支持PPPOE:0 不支持;1 支持;
	 */
	private int isSupportPppoe;

	private String mainOfferId;//销售品CRM标识，即优惠包依赖的包月套餐CRM标识

	/**参考{cn.eshore.common.consts.Constants#MAINOFFER_OBJ_TYPE_PHONE} 首个是主套餐*/
	private String mainOfferObjType; //新增：20210719 与mainOfferId一一对应，逗号分割，每个销售品套餐需要挂载到哪里 -1无需订购  0手机 1宽带 2手机与宽带

	/**
	 * 20210916
	 * 套餐付费类型【针对快捷宽带】
	 * {Constants#PACK_PAY_TYPE_PRE_PAID}
	 *
	 *
	 * 可通过查询宽带账号或者宽带接入号的服务信息,根据付费类型参考{cn.eshore.service.esb.service.impl.ParamIdMapper#getOldPayMethod()}
	 * 从而转化成{Constants#PACK_PAY_TYPE_PRE_PAID}类型
	 */
	private String packPayType;

	/**
	 * 20210917
	 * 【套餐种类】
	 * 默认空或0  公寓类型
	 * 1  快捷类型
	 *
	 * 参考{Constants#PACK_KIND_QUICK}
	 */
    @Column(name="pack_kind")
    private String packKind;

	/**
	 * 20211102
	 * 【订购操作类型】
	 *
	 * 参考{Constants#ORDER_OPERATION_TYPE_DIMINISHING_CRM_PACK}
	 */
	private String orderOperationType;


	@Transient
	private int isChecked = 0;//是否勾选 0:是  1:非(非数据库字段)
	@Transient
	private String regionName;

	public String getOrderOperationType() {
		return orderOperationType;
	}

	public void setOrderOperationType(String orderOperationType) {
		this.orderOperationType = orderOperationType;
	}

	public String getMainOfferObjType() {
		return mainOfferObjType;
	}

	public void setMainOfferObjType(String mainOfferObjType) {
		this.mainOfferObjType = mainOfferObjType;
	}

	public String getRegionName() {
		return regionName;
	}

	public void setRegionName(String regionName) {
		this.regionName = regionName;
	}

	public PackInfo() {
	}

	public String getPackStatus() {
		return packStatus;
	}

	public String getMonthlyType() {
		return monthlyType;
	}

	public int getIsChecked() {
		return isChecked;
	}

	public void setIsChecked(int isChecked) {
		this.isChecked = isChecked;
	}

	public void setMonthlyType(String monthlyType) {
		this.monthlyType = monthlyType;
	}

	public void setPackStatus(String packStatus) {
		this.packStatus = packStatus;
	}

	public String getAreaCode() {
		return this.areaCode;
	}

	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getPackComments() {
		return this.packComments;
	}

	public void setPackComments(String packComments) {
		this.packComments = packComments;
	}

	public String getPackCrmId() {
		return this.packCrmId;
	}

	public void setPackCrmId(String packCrmId) {
		this.packCrmId = packCrmId;
	}

	public String getPackIcon() {
		return this.packIcon;
	}

	public void setPackIcon(String packIcon) {
		this.packIcon = packIcon;
	}

	public String getPackName() {
		return this.packName;
	}

	public void setPackName(String packName) {
		this.packName = packName;
	}

	public int getPackPrice() {
		return this.packPrice;
	}

	public void setPackPrice(int packPrice) {
		this.packPrice = packPrice;
	}

	public String getPackRate() {
		return this.packRate;
	}

	public void setPackRate(String packRate) {
		this.packRate = packRate;
	}

	public String getPackRateText() {
		return this.packRateText;
	}

	public void setPackRateText(String packRateText) {
		this.packRateText = packRateText;
	}

	public String getPackType() {
		return this.packType;
	}

	public void setPackType(String packType) {
		this.packType = packType;
	}

	public String getSortBy() {
		return this.sortBy;
	}

	public void setSortBy(String sortBy) {
		this.sortBy = sortBy;
	}

	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getMark1() {
		return mark1;
	}

	public void setMark1(String mark1) {
		this.mark1 = mark1;
	}

	public String getMark2() {
		return mark2;
	}

	public void setMark2(String mark2) {
		this.mark2 = mark2;
	}

	public String getMark3() {
		return mark3;
	}

	public void setMark3(String mark3) {
		this.mark3 = mark3;
	}

	public String getSpecType() {
		return specType;
	}

	public void setSpecType(String specType) {
		this.specType = specType;
	}

	public String getEffectInfo() {
		return effectInfo;
	}

	public void setEffectInfo(String effectInfo) {
		this.effectInfo = effectInfo;
	}

	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	public String getLastUpdateUser() {
		return lastUpdateUser;
	}

	public void setLastUpdateUser(String lastUpdateUser) {
		this.lastUpdateUser = lastUpdateUser;
	}

	public String getPackCrmCode() {
		return packCrmCode;
	}

	public void setPackCrmCode(String packCrmCode) {
		this.packCrmCode = packCrmCode;
	}

	public String getMark() {
		return mark;
	}

	public void setMark(String mark) {
		this.mark = mark;
	}

	public int getIsSupportPppoe() {
		return isSupportPppoe;
	}

	public void setIsSupportPppoe(int isSupportPppoe) {
		this.isSupportPppoe = isSupportPppoe;
	}

	public String getMainOfferId() {
		return mainOfferId;
	}

	public void setMainOfferId(String mainOfferId) {
		this.mainOfferId = mainOfferId;
	}

	public String getPackPayType() {
		return packPayType;
	}

	public void setPackPayType(String packPayType) {
		this.packPayType = packPayType;
	}

	public String getPackKind() {
		return packKind;
	}

	public void setPackKind(String packKind) {
		this.packKind = packKind;
	}

	@Override
	public String toString() {
		return "PackInfo{" +
				"areaCode='" + areaCode + '\'' +
				", packStatus='" + packStatus + '\'' +
				", monthlyType='" + monthlyType + '\'' +
				", createTime=" + createTime +
				", mark1='" + mark1 + '\'' +
				", mark2='" + mark2 + '\'' +
				", mark3='" + mark3 + '\'' +
				", packComments='" + packComments + '\'' +
				", packCrmId='" + packCrmId + '\'' +
				", packIcon='" + packIcon + '\'' +
				", packName='" + packName + '\'' +
				", packPrice=" + packPrice +
				", packRate='" + packRate + '\'' +
				", packRateText='" + packRateText + '\'' +
				", packType='" + packType + '\'' +
				", sortBy='" + sortBy + '\'' +
				", updateTime=" + updateTime +
				", specType='" + specType + '\'' +
				", effectInfo='" + effectInfo + '\'' +
				", createUser='" + createUser + '\'' +
				", lastUpdateUser='" + lastUpdateUser + '\'' +
				", packCrmCode='" + packCrmCode + '\'' +
				", mark='" + mark + '\'' +
				", isSupportPppoe=" + isSupportPppoe +
				", mainOfferId='" + mainOfferId + '\'' +
				", mainOfferObjType='" + mainOfferObjType + '\'' +
				", packPayType='" + packPayType + '\'' +
				", packKind='" + packKind + '\'' +
				", isChecked=" + isChecked +
				", regionName='" + regionName + '\'' +
				'}';
	}
}